package lanou.a36ke_01.activity.discoveryactivity;

import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.widget.AdapterView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.PopupWindow;
import android.widget.TextView;

import java.util.ArrayList;

import lanou.a36ke_01.R;
import lanou.a36ke_01.adapters.discoveryadapter.DisBuyerNoticeAdapter;
import lanou.a36ke_01.adapters.discoveryadapter.DisPopBuyerAdapter;
import lanou.a36ke_01.beanlists.discoverybean.DisBuyerNoticeBean;
import lanou.a36ke_01.beanlists.publicbean.UrlBean;
import lanou.a36ke_01.tools.BaseActivity;
import lanou.a36ke_01.tools.MyApp;
import lanou.a36ke_01.tools.NetTool;

/**
 * 　　　　　　　　┏┓　　　┏┓+ +
 * 　　　　　　　┏┛┻━━━┛┻┓ + +
 * 　　　　　　　┃　　　　　　　┃
 * 　　　　　　　┃　　　━　　　┃ ++ + + +
 * 　　　　　　 ████━████ ┃+
 * 　　　　　　　┃　　　　　　　┃ +
 * 　　　　　　　┃　　　┻　　　┃
 * 　　　　　　　┃　　　　　　　┃ + +
 * 　　　　　　　┗━┓　　　┏━┛
 * 　　　　　　　　　┃　　　┃
 * 　　　　　　　　　┃　　　┃ + + + +
 * 　　　　　　　　　┃　　　┃　　　　Code is far away from bug with the animal protecting
 * 　　　　　　　　　┃　　　┃ + 　　　　神兽保佑代码无BUG,
 * <p>
 * 　　　　　　　　　┃　　　┃
 * 　　　　　　　　　┃　　　┃　　+
 * 　　　　　　　　　┃　 　　┗━━━┓ + +
 * 　　　　　　　　　┃ 　　　　　　　┣┓
 * 　　　　　　　　　┃ 　　　　　　　┏┛
 * 　　　　　　　　　┗┓┓┏━┳┓┏┛ + + + +
 * 　　　　　　　　　　┃┫┫　┃┫┫
 * 　　　　　　　　　　┗┻┛　┗┻┛+ + + +
 * <p>
 * Created by 史静雯 date
 */
public class BuyerNoticeActivity extends BaseActivity implements View.OnClickListener {


    private ListView mListView;
    private ListView popList;
    private ArrayList<String> list;
    private String urlAty = UrlBean.DISCIVERY_BUYER_NOTICE;
    private TextView tvAll;

    @Override
    protected int setLayout() {
        return R.layout.activity_buyer_notice;
    }

    @Override
    protected void initView() {
        mListView = bindView(R.id.activity_buyer_list_view);
        //初始化
        tvAll = bindView(R.id.activity_buyer_activity_type);
        tvAll.setOnClickListener(this);
        //shijian
        TextView tvTime = bindView(R.id.activity_buyer_activity_time);
        tvTime.setOnClickListener(this);


    }

    @Override
    protected void initDate() {
        NetTool netTool = new NetTool();
        netTool.getNetData(urlAty, DisBuyerNoticeBean.class, new NetTool.NetListener<DisBuyerNoticeBean>() {

            private DisBuyerNoticeAdapter noticeAdapter;

            @Override
            public void onSuccess(DisBuyerNoticeBean disBuyerNoticeBean) {
                noticeAdapter = new DisBuyerNoticeAdapter(MyApp.getContext());
                noticeAdapter.setNoticeBean(disBuyerNoticeBean);
                mListView.setAdapter(noticeAdapter);
            }

            @Override
            public void onError(String errorMsg) {

            }
        });


    }

    @Override
    public void onClick(View v) {


        switch (v.getId()) {

            case R.id.activity_buyer_activity_type:
                list = new ArrayList<>();
                list.add("全部");
                list.add("Demo Day");
                list.add("氪空间");
                list.add("股权投资");
                list.add("企业服务");
                list.add("极速融资");
                BuyerNoticePopupWindow buyerNoticePopupWindow = new BuyerNoticePopupWindow(this);
                //pop显示的部位
                buyerNoticePopupWindow.showAsDropDown(findViewById(R.id.activity_buyer_view_line));
                break;
            case R.id.activity_buyer_activity_time:
                list = new ArrayList<>();
                list.add("全部");
                list.add("本周末");
                list.add("本周");
                list.add("下周");
                BuyerNoticePopupWindow buyerNoticePopupWindowTime = new BuyerNoticePopupWindow(this);
                //pop显示的部位
                buyerNoticePopupWindowTime.showAsDropDown(findViewById(R.id.activity_buyer_view_line));

                break;
        }


    }


    public class BuyerNoticePopupWindow extends PopupWindow implements AdapterView.OnItemClickListener {


        private final View mMenuView;
        final DisPopBuyerAdapter popBuyerAdapter;

        public BuyerNoticePopupWindow(BuyerNoticeActivity buyerNoticeActivity) {
            LayoutInflater inflater = (LayoutInflater) getSystemService(buyerNoticeActivity.LAYOUT_INFLATER_SERVICE);
            mMenuView = inflater.inflate(R.layout.pop_buyer_notice, null);

            popList = (ListView) mMenuView.findViewById(R.id.pop_buyer_list_view);

            mMenuView.setBackgroundColor(Color.WHITE);
            //设置SelectPicPopupWindow的View
            this.setContentView(mMenuView);
            //设置SelectPicPopupWindow弹出窗体的宽
            this.setWidth(LinearLayout.LayoutParams.MATCH_PARENT);
            //设置SelectPicPopupWindow弹出窗体的高
            this.setHeight(500);
            //设置SelectPicPopupWindow弹出窗体可点击
            this.setFocusable(true);

            //实例化一个ColorDrawable颜色为半透明
            ColorDrawable dw = new ColorDrawable(0xb0000000);
            //设置SelectPicPopupWindow弹出窗体的背景
            this.setBackgroundDrawable(dw);

            popBuyerAdapter = new DisPopBuyerAdapter(MyApp.getContext());
            popBuyerAdapter.setStrings(list);
            popList.setAdapter(popBuyerAdapter);
            popList.setOnItemClickListener(this);
            //mMenuView添加OnTouchListener监听判断获取触屏位置如果在选择框外面则销毁弹出框
            mMenuView.setOnTouchListener(new View.OnTouchListener() {

                public boolean onTouch(View v, MotionEvent event) {

                    //这个是你点击其他地方popWindows消失
                    int height = mMenuView.findViewById(R.id.buyue_linearlayout).getTop();
                    int y = (int) event.getY();
                    if (event.getAction() == MotionEvent.ACTION_UP) {
                        if (y < height) {
                            dismiss();
                        }
                    }
                    return true;
                }
            });
        }

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            dismiss();
            switch (position) {
                case 0:
                    urlAty = UrlBean.DISCIVERY_BUYER_NOTICE;
                    break;
                case 1:
                    urlAty = UrlBean.DISCOVERY_BUYER_DEMODAY;
                    tvAll.setText("Deom Day");
                    break;
                case 2:
                    urlAty = UrlBean.DISCOVERY_BUYER_KR;
                    tvAll.setText("氪空间");
                    break;
                case 3:
                    urlAty = UrlBean.DISCOVERY_NUYER_INVESTMENT;
                    tvAll.setText("股权投资");
                    break;
                case 4:
                    urlAty = UrlBean.DISCOVERY_BUYER_COMPANY;
                    tvAll.setText("企业服务");
                    break;
                case 5:
                    urlAty = UrlBean.DISCOVERY_BUYER_FINANCING;
                    tvAll.setText("急速融资");
                    break;


            }

            NetTool netTool = new NetTool();
            netTool.getNetData(urlAty, DisBuyerNoticeBean.class, new NetTool.NetListener<DisBuyerNoticeBean>() {

                private DisBuyerNoticeAdapter noticeAdapter;

                @Override
                public void onSuccess(DisBuyerNoticeBean disBuyerNoticeBean) {
                    noticeAdapter = new DisBuyerNoticeAdapter(MyApp.getContext());
                    noticeAdapter.setNoticeBean(disBuyerNoticeBean);
                    mListView.setAdapter(noticeAdapter);
                }

                @Override
                public void onError(String errorMsg) {

                }
            });
        }
    }
}
